/**
 * Candidate number: 35834
 */
package tv.starfu.systems.level;

import com.artemis.Component;
import com.artemis.ComponentMapper;
import com.artemis.Entity;
import com.artemis.EntityProcessingSystem;
import tv.starfu.components.AnimaSpatial;
import tv.starfu.components.Transform;
import tv.starfu.components.level.GridPosition;
import tv.starfu.components.level.KyberneteGrid;

/**
 * Positions grids n stuff.
 * @author nia radical
 */
public class KyberneteSystem extends EntityProcessingSystem {

    private ComponentMapper<KyberneteGrid> kyberGridMapper;
    private ComponentMapper<Transform>     transformMapper;
    private ComponentMapper<AnimaSpatial>  animaSpatialMapper;
    
    
    public KyberneteSystem() {
        super(KyberneteGrid.class, Transform.class, AnimaSpatial.class);
    }
    
    @Override
    public void initialize() {
        kyberGridMapper         = new ComponentMapper<KyberneteGrid>(KyberneteGrid.class, world);
        transformMapper         = new ComponentMapper<Transform>(Transform.class, world);
        animaSpatialMapper      = new ComponentMapper<AnimaSpatial>(AnimaSpatial.class, world);
    }
    
    // System logic : enable (C)<-(C)and (E)->(E) communication
    @Override
    protected void process(Entity e) {

        
        KyberneteGrid kyberGrid = kyberGridMapper.get(e);
        Transform transform     = transformMapper.get(e);
        AnimaSpatial anima      = animaSpatialMapper.get(e);
        
        
    }
}
